package RemoteServerInterface;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.util.ArrayList;

import CustomerPO.CustomerPO;
import Po.BookPO;
import Po.Credits;
import Po.Message;
import Po.Order;
import Po.Promotion;
import Po.RegisterCustomer;
import Po.SimpleBook;
import Po.SimpleCustomer;
import Po.Type;

public interface CustomerServerInterface  extends Remote{
	
	public SimpleCustomer customerLogin(String name,String password)  throws RemoteException;
	public Message registerCustomer(RegisterCustomer customer)  throws RemoteException;
	public Message deleteCustomer(int ID)  throws RemoteException;
	public ArrayList<SimpleBook> searchBook(String key ,Type type)  throws RemoteException;
	public String[][] getBookTree()  throws RemoteException;
	public BookPO getBookDetail(String ISBN)  throws RemoteException;
	public Message collectBook(int ID, String ISBN)  throws RemoteException;
	public ArrayList<Promotion> getCustomerPromotionList(int ID)  throws RemoteException;
	public ArrayList<SimpleBook> getBookCollection(int ID)  throws RemoteException;
	public ArrayList<Order> getOrderList(int ID)  throws RemoteException;
	public Message updateCustomer(CustomerPO c)  throws RemoteException;
	public Message saveOrder(Order o)  throws RemoteException;
	public Credits getCredits(int id) throws RemoteException;
	public Message deleteCollectBook(int id,String isbn) throws RemoteException;
}
